home *** CD-ROM | disk | FTP | other *** search
/ BMUG PD-ROM 1995 Fall / PD-ROM F95.toast / Programming / Programming Languages / UCB Logo 3.0 ƒ / sources / standard source / globals.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-08-14  |  8.9 KB  |  243 lines  |  [TEXT/ttxt]

  1. /*
  2.  *      globals.h       logo global references module           dvb
  3.  *
  4.  *    Copyright (C) 1993 by the Regents of the University of California
  5.  *
  6.  *      This program is free software; you can redistribute it and/or modify
  7.  *      it under the terms of the GNU General Public License as published by
  8.  *      the Free Software Foundation; either version 2 of the License, or
  9.  *      (at your option) any later version.
  10.  *  
  11.  *      This program is distributed in the hope that it will be useful,
  12.  *      but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.  *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.  *      GNU General Public License for more details.
  15.  *  
  16.  *      You should have received a copy of the GNU General Public License
  17.  *      along with this program; if not, write to the Free Software
  18.  *      Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  19.  *
  20.  */
  21.  
  22. /* extern double atof();
  23. extern long atol();
  24. extern char *strncpy(), *strcpy(), *getenv(), *malloc();
  25. extern int strncmp(); */
  26.  
  27. /* main.c */
  28. extern NODE *current_line, *exec_list;
  29. extern main();
  30.  
  31. /* logodata.c */
  32. extern char *strnzcpy(), *mend_strnzcpy(), *low_strnzcpy(), *cap_strnzcpy();
  33. extern char *mend_nosemi(), *noparity_strnzcpy();
  34. extern char *noparitylow_strnzcpy(), *word_strnzcpy();
  35. extern int low_strncmp(), noparity_strncmp(), noparitylow_strncmp();
  36. extern NODE *make_strnode(char *, char *, int, NODETYPES, char *(*)());
  37. extern NODE *make_quote(), *make_colon(), *make_strnode_prefixed();
  38. extern NODE *make_caseobj(), *make_intnode(), *make_floatnode();
  39. extern NODE *maybe_quote(), *cnv_node_to_strnode(), *make_static_strnode();
  40. extern NODE *cons_list(int, ...);
  41. extern void make_runparse();
  42. extern NODE *cnv_node_to_numnode(), *nextname(), *llowercase(), *luppercase();
  43. extern NODE *lgprop(), *lpprop(), *lremprop(), *lplist(), *make_array();
  44. extern NODE *copy_list();
  45. #ifdef ecma
  46. extern char ecma_array[], special_chars[];
  47. extern char ecma_set(), ecma_clear();
  48. extern int ecma_size, ecma_get();
  49. #endif
  50.  
  51. /* mem.c */
  52. extern NODE *newnode(NODETYPES type);
  53. extern NODE *_reref(), *unref(), *cons();
  54. extern void setcar(), setcdr(), setobject(), gc();
  55. extern NODETYPES nodetype();
  56. extern NODE *free_list;
  57. extern struct segment *segment_list;
  58.  
  59. /* parse.c */
  60. extern FILE *loadstream, *writestream, *readstream, *dribblestream;
  61. extern int input_blocking;
  62. extern NODE *reader();
  63. extern NODE *parser(), *runparse(), *lparse(), *lrunparse();
  64. extern NODE *current_line;
  65.  
  66. /* math.c */
  67. extern int numberp(), compare_node();
  68. extern NODE *ladd(), *lmul(), *lsub(), *ldivide(), *lrandom(), *lrerandom();
  69. extern NODE *lremainder(), *lbitand(), *lbitor(), *lashift(), *llshift();
  70. extern NODE *lbitnot(), *lsin(), *lcos(), *latan(), *lsqrt(), *linteg();
  71. extern NODE *lround(), *lexp(), *llog10(), *lln(), *lpower(), *lbitxor();
  72. extern NODE *lradsin(), *lradcos(), *lradatan();
  73. extern NODE *lequalp(), *llessp(), *lgreaterp();
  74. extern NODE *lnumberp(), *l_eq(), *lbeforep(), *torf();
  75. extern BOOLEAN equalp_help();
  76.  
  77. /* intern.c */
  78. extern void map_oblist();
  79. extern NODE *intern(), *make_instance();
  80.  
  81. /* debug.c */
  82. extern show_node(), debug();
  83.  
  84. /* print.c */
  85. extern void print_node(), print_help(), new_line(), print_space();
  86. extern void print_char(FILE *strm, char ch);
  87. extern void print_nobrak(), ndprintf(FILE *, char *, ...);
  88. extern int print_stringlen;
  89. extern char *print_stringptr;
  90. extern int x_margin, y_margin;
  91.  
  92. /* init.c */
  93. extern NODE *True, *False, *Left_Paren, *Right_Paren, *Null_Word, *Toplevel, *System, *Error;
  94. extern NODE *End, *Redefp, *Caseignoredp, *Erract, *Printdepthlimit, *Printwidthlimit, *Pause;
  95. extern NODE *If, *Ifelse, *To, *Macro, *Unbound, *Not_Enough_Node;
  96. extern NODE *Minus_Sign, *Minus_Tight, *Startup, *Query, *Output, *Op, *Stop;
  97. extern NODE *valref();
  98. extern void init();
  99.  
  100. /* wrksp.c */
  101. extern NODE *lto(), *lmake(), *llocal(), *lcontents(), *lpo(), *lpot();
  102. extern NODE *lprocedures(), *lnames(), *lplists(), *lerase(), *ledit();
  103. extern NODE *lbury(), *lunbury(), *lburied(), *lthing(), *lpots(), *lnamep();
  104. extern NODE *ltrace(), *luntrace(), *lstep(), *lunstep(), *lmacrop();
  105. extern NODE *lprocedurep(), *lprimitivep(), *ldefinedp(), *lcopydef();
  106. extern NODE *ltext(), *lfulltext(), *ldefine(), *lmacro(), *ldefmacro();
  107. extern char *editor, *editorname;
  108. extern int to_pending;
  109.  
  110. /* error.c */
  111. extern void err_print();
  112. extern NODE *err_logo(ERR_TYPES, NODE *);
  113. extern NODE *throw_node;
  114. extern NODE *err_mesg;
  115. extern NODE *lpause(), *lcontinue(), *lerror();
  116. extern ERR_TYPES erract_errtype;
  117.  
  118. /* eval.c */
  119. extern NODE *err_eval_driver(), *lapply(), *lqm();
  120. extern void eval_driver(), tell_shadow();
  121. extern int not_local();
  122. extern NODE *fun, *ufun, *last_ufun, *this_line, *last_line, *didnt_get_output;
  123. extern NODE *var, *var_stack, *output_node, *last_call, *didnt_output_name;
  124. extern CTRLTYPE stopping_flag;
  125. extern char *logolib;
  126. extern FIXNUM tailcall, val_status, dont_fix_ift;
  127. void spush(),spop();
  128.  
  129. /* print.c */
  130. extern NODE *lshow(), *lprint(), *ltype();
  131. extern BOOLEAN print_backslashes;
  132. extern void update_coords(char ch);
  133.  
  134. /* lists.c */
  135. extern NODE *lbutfirst(), *lfirst(), *lbutlast(), *llast(), *lsentence();
  136. extern NODE *lfput(), *llput(), *llist(), *lcount(), *lemptyp(), *lword();
  137. extern NODE *lmemberp(), *litem(), *lwordp(), *llistp(), *lascii(), *lchar();
  138. extern NODE *lsetitem(), *larray(), *larrayp(), *lform(), *lnumberp();
  139. extern NODE *l_setfirst(), *l_setbf(), *l_setitem(), *lbackslashedp();
  140. extern NODE *lmember(), *lfirsts(), *lbfs(), *string_arg(), *integer_arg();
  141. extern FIXNUM int_arg();
  142.  
  143. /* files.c */
  144. extern NODE *ldribble(), *lnodribble(), *lsetwrite(), *lsave(), *lload();
  145. extern NODE *lopenread(), *lopenwrite(), *lclose(), *lallopen();
  146. extern NODE *lsetread(), *lreadlist(), *lerasefile();
  147. extern NODE *lreadword(), *leofp(), *lreadchar(), *lreadchars(), *lkeyp();
  148. extern NODE *lopenappend(), *lopenupdate(), *lreadpos(), *lwritepos();
  149. extern NODE *lsetreadpos(), *lsetwritepos(), *lreader(), *lwriter();
  150. extern void silent_load(NODE *, char *);
  151.  
  152. /* coms.c */
  153. extern NODE *lif(), *lifelse(), *loutput(), *lstop(), *lnot(), *lrunresult();
  154. extern NODE *lcatch(), *lthrow(), *lrun(), *lrepeat(), *lforever();
  155. extern NODE *pos_int_arg(), *lbye(), *lwait();
  156. extern NODE *land(), *lor(), *ltest(), *liftrue(), *liffalse(), *lshell();
  157. extern NODE *make_cont(enum labels, NODE *);
  158. extern void prepare_to_exit();
  159. extern FIXNUM ift_iff_flag;
  160.  
  161. /* term.c */
  162. extern NODE *lcursor(), *lcleartext(), *lsetcursor(), *lstandout();
  163. extern void term_init(), charmode_on(), charmode_off();
  164. extern int x_coord, y_coord, x_max, y_max;
  165. extern int interactive;
  166. extern NODE *lsetmargins();
  167.  
  168. /* libloc.c */
  169. extern char *libloc;
  170.  
  171. /* paren.c */
  172. extern NODE *the_generation;
  173. extern void untreeify_proc(NODE *);
  174. extern void make_tree(NODE *);
  175. extern void make_tree_from_body(NODE *);
  176.  
  177. /* graphics.c */
  178. extern mode_type current_mode;
  179. extern FLONUM turtle_x, turtle_y, turtle_heading, x_scale, y_scale;
  180. extern BOOLEAN turtle_shown;
  181. extern FIXNUM g_round(FLONUM);
  182. extern NODE *lright(), *lleft(), *lforward(), *lback();
  183. extern NODE *lshowturtle(), *lhideturtle(), *lshownp();
  184. extern NODE *lhome(), *lclearscreen(), *lclean();
  185. extern NODE *lsetheading(), *lheading(), *ltowards();
  186. extern NODE *lpos(), *lsetpos(), *lsetxy(), *lsetx(), *lsety();
  187. extern NODE *lwrap(), *lfence(), *lwindow(), *lscrunch();
  188. extern NODE *lfill(), *llabel(), *larc();
  189. extern NODE *ltextscreen(), *lsplitscreen(), *lfullscreen();
  190. extern NODE *lpendownp(), *lpenmode(), *lpencolor(), *lpensize(), *lpenpattern();
  191. extern NODE *lpendown(), *lpenup(), *lpenpaint();
  192. extern NODE *lpenerase(), *lpenreverse(), *lsetpencolor();
  193. extern NODE *lsetbackground(), *lbackground();
  194. extern NODE *lsetpensize(), *lsetpenpattern();
  195. extern NODE *lrefresh(), *lnorefresh();
  196. extern NODE *lsetscrunch(), *pos_int_vector_arg(), *numeric_arg();
  197. extern NODE *lmousepos(), *lbuttonp(), *ltone();
  198. extern void redraw_graphics();
  199.  
  200. #ifdef mac
  201.  
  202. #define SIGQUIT SIGABRT
  203.  
  204. /* macterm.c */
  205. extern void init_mac_memory();
  206. extern void term_init_mac();
  207. extern void mac_gotoxy();
  208. extern NODE *lsetwindowtitle(), *lsettextfont(), *lsettextsize(), *lsettextstyle();
  209. extern NODE *lsetwindowsize(), *lsetwindowxy(), *lnewconsole();
  210. extern NODE *lgraphtext(), *lregulartext();
  211.  
  212. extern BOOLEAN mac_edit();
  213. extern WindowPtr graphics_window, listener_window;
  214. extern BOOLEAN check_mac_stop();
  215. #endif
  216.  
  217. #ifdef ibm
  218. /* ibmterm.c/ztcterm.c */
  219. extern void init_ibm_memory(), check_scroll();
  220. extern void term_init_ibm(), erase_graphics_top();
  221. extern void ibm_gotoxy(), ibm_clear_text(), outtext();
  222. extern void ibm_clear_screen(),t_screen(),s_screen();
  223. extern void ibm_bold_mode(void), ibm_plain_mode(void);
  224. extern BOOLEAN check_ibm_stop(), in_graphics_mode;
  225. extern int MaxX, MaxY;
  226. #ifdef __ZTC__
  227. extern int ibm_screen_bottom;
  228. extern void ztc_put_char(int), zflush(void), ztc_getcr(void);
  229. extern void fix_cursor(void), newline_bugfix(void), scroll_bugfix(void);
  230. extern void ztc_set_penc(FIXNUM);
  231. extern BOOLEAN in_splitscreen;
  232. #else
  233. extern int ibm_screen_top;
  234. #define SIGQUIT 15
  235. #endif
  236. #endif
  237.  
  238. #ifdef x_window
  239. /* xgraphics.c */
  240. extern void x_window_init();
  241. extern void handle_x_event();
  242. #endif
  243.